<?php

namespace Sisesporte\Entity;

use Doctrine\ORM\Mapping as ORM,
    Doctrine\Common\Collections\ArrayCollection;

/**
 * @ORM\Entity
 * @ORM\Table(name="uf")
 * @ORM\Entity(repositoryClass="Sisesporte\Repository\UfRepository")
 */
class Uf {

    public function __construct($options = null) {
        Configurator::configure($this, $options);
        $this->ufExpedidor = new ArrayCollection;
        $this->ufNaturalidade = new ArrayCollection;
        $this->ufCidade = new ArrayCollection;
    }

    /**
     * @var integer $sqUf
     *
     * @ORM\Column(name="sq_uf", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $sqUf;

    /**
     * @var string $noUf
     * @ORM\Column(name="no_uf", type="text", nullable=false)
     */
    protected $noUf;

    /**
     * @var string $sgUf
     * @ORM\Column(name="sg_uf", type="text", nullable=false)
     */
    protected $sgUf;

    /**
     * @var bigint $sqPais
     * @ORM\Column(name="sq_Pais", type="bigint", nullable=false)
     * @ORM\ManyToOne(targetEntity="Sisesporte\Entity\Pais", inversedBy="sq_pais")
     * @ORM\JoinColumn(name="sq_pais", referencedColumnName="sq_pais")
     */
    protected $sqPais;

    /**
     * @var boolean $stAtivo
     * @ORM\Column(name="st_ativo", type="boolean", nullable=true)
     */
    protected $stAtivo;

//    /**
//     * @ORM\OneToMany(targetEntity="Sisesporte\Entity\Pessoa", mappedBy="sq_uf_org_expedidor")
//     */
//    protected $ufExpedidor;
//
//    /**
//     * @ORM\OneToMany(targetEntity="Sisesporte\Entity\Pessoa", mappedBy="sq_uf_naturalidade")
//     */
//    protected $ufNaturalidade;

//    /**
//     * @ORM\OneToMany(targetEntity="Sisesporte\Entity\Cidade", mappedBy="sq_uf")
//     */
//    protected $ufCidade;

    public function getSqUf() {
        return $this->sqUf;
    }

    public function getNoUf() {
        return $this->noUf;
    }

    public function setNoUf($noUf) {
        $this->noUf = $noUf;
        return $this;
    }

    public function getSgUf() {
        return $this->sgUf;
    }

    public function setSgUf($sgUf) {
        $this->sgUf = $sgUf;
        return $this;
    }

    public function getSqPais() {
        return $this->sqPais;
    }

    public function setSqPais($sqPais) {
        $this->sqPais = $sqPais;
        return $this;
    }

    public function getStAtivo() {
        return $this->stAtivo;
    }

    public function setStAtivo($stAtivo) {
        $this->stAtivo = $stAtivo;
        return $this;
    }

    public function getUfExpedidor() {
        return $this->ufExpedidor;
    }

    public function setUfExpedidor($ufExpedidor) {
        $this->ufExpedidor = $ufExpedidor;
        return $this;
    }

    public function getUfNaturalidade() {
        return $this->ufNaturalidade;
    }

    public function setUfNaturalidade($ufNaturalidade) {
        $this->ufNaturalidade = $ufNaturalidade;
        return $this;
    }

    public function getUfCidade() {
        return $this->ufCidade;
    }

    public function setUfCidade($ufCidade) {
        $this->ufCidade = $ufCidade;
        return $this;
    }

    public function __toString() {
        return $this->sgUf;
    }

    public function toArray() {
        return array(
            'sqUf' => $this->getSqUf(),
            'noUf' => $this->getNoUf(),
            'sgUf' =>  $this->getSgUf(),
            'sqPais' =>  $this->getSqPais()->getSqPais(),
            'stAtivo' => $this->getStAtivo(),
            'ufExpedidor' => $this->getUfExpedidor(),
            'ufNaturalidade' => $this->getUfNaturalidade(),
            'ufCidade' =>  $this->getUfCidade()
        );
    }

}
